package com.cr.dataprotect.exception;


/**
 * 完整性异常
 *
 * @author ChenRui
 */
public class IntegrityDataException extends RuntimeException {

    private static final long serialVersionUID = 1121L;

    /**
     * 异常代码
     */
    private int code = -1;

    /**
     * 创建新的异常对象
     */
    public IntegrityDataException() {

    }

    /**
     * 创建包含异常消息的异常对象
     *
     * @param message 异常消息
     */
    public IntegrityDataException(String message) {
        super(message);
    }

    /**
     * 创建异常对象，包含异常消息和异常代码
     *
     * @param message 异常消息
     * @param code    异常代码
     */
    public IntegrityDataException(String message, int code) {
        super(message);
        this.code = code;
    }

    /**
     * 创建异常对象，包含引起异常的原因
     *
     * @param cause 引起该异常的原因
     */
    public IntegrityDataException(Throwable cause) {
        super(cause);
    }

    /**
     * 创建异常对象，包含引起异常的原因和异常代码
     *
     * @param cause 引起该异常的原因
     * @param code  异常代码
     */
    public IntegrityDataException(Throwable cause, int code) {
        super(cause);
        this.code = code;
    }

    public IntegrityDataException(String message, Throwable cause) {
        super(message, cause);
    }

    public IntegrityDataException(String message, Throwable cause, int code) {
        super(message, cause);
        this.code = code;
    }

    /**
     * @return 异常代码
     */
    public int getCode() {
        return code;
    }

}
